Device manufacturers commonly sell devices differentiated by the capabilities they offer, for example the same device may be sold with fewer capabilities or with additional or more sophisticated capabilities. In terms of licensing, rights are defined on a host and licensed software gets tied to a hardware identity. Issues arise, however, when a customer purchases a significant number of devices and would like to keep licenses for the devices in a pool so as to provide different features when necessary or desired.
Existing systems utilize public-key cryptography to serve licenses to an end-device, wherein a private-key is used at the server which is stored at a publisher or manufacturer. In the scenario described previously, involving a customer purchasing a significant number of devices, the customer becomes the license manager. This places both the end device and license issuing authority in a potentially ‘hostile domain.’